Syntax

The Codepage definitions are given in the configuration file |tex.cnf|, there you can also give the definition in several parts. Every part is prepended with |codepage| on the start of the line, subsequently a command per line follows. The definition is terminated by |«|.

Following commands are allowed:

`=!=! = !=

123456 (1) !x = y! The character |x| is transformed to |y| when reading, |y| is written as |x|, and not in the notation |9y| anymore. Example: (|"a| would be the Amiga character (a letter!) for a-umlaut, |�| would be TEXcode for the a-umlaut) After

|"a=80|

every |"a| is transformed to 128 immediately, apart from that TEX no longer outputs |�| for character 128, but |"a|. (xord[x]=y; xchr[y]=x; printable(y)=true;) (2) !x > y! The character |x| is transformed to |y| when reading. Here, |y| can be chosen from the complete range |-�|. Example: After

|"a > a|

"a is read as a. (xord[x]=y;) (3) !< y! The character |y| is no longer output in the notation |9y|, but as one character |y|. Thereby at the output a possible transformation occurs, in case a command !x = y! has been given in the Codepage definition.         (printable(y)=true;) Default: all characters < 32 or > 126 are output in the |9| notation.         (printable(y)=false; for y in [0…32, 126…255]) (4) !<| y! Negation of (3). |y| is after that output as |9y|. Example: After

|"a=80|

the character 128 is output as a character |"a|. If this does not occur, you should give after that:

| < |$|$| 80|

(printable(y)=false;)

The individual commands are interpreted line by line, the order in which the commands are executed is important.

General note:

If you give characters in TEX in |< notation, then these are not mapped anymore, i.e. with |< notation the character code must be in TEX and not in the currently used machine's code.

Only directly given characters are mapped. Mapping takes place when reading in input_line(), apart from that when writing with print_char() and at the transformation of filenames.